package com.analysis.config;

import com.analysis.interceptor.AuthInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * Web配置类
 * 注册拦截器
 */
@Configuration
public class WebConfig implements WebMvcConfigurer {
    
    @Autowired
    private AuthInterceptor authInterceptor;
    
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(authInterceptor)
                .addPathPatterns("/**")  // 拦截所有请求
                .excludePathPatterns(
                        // 排除不需要登录的接口
                        "/api/users/login",           // 用户登录
                        "/api/users/register",        // 用户注册（如果有）
                        "/error",                     // 错误页面
                        "/favicon.ico",               // 网站图标
                        "/druid/**",                  // Druid监控页面
                        "/swagger-ui/**",             // Swagger文档（如果有）
                        "/v3/api-docs/**",            // OpenAPI文档（如果有）
                        "/actuator/**"                // Spring Boot Actuator（如果有）
                );
    }
}
